/*==============================================================================
             Copyright (c) 2009 - All rights reserved
================================================================================
File description:

    Select function definition

================================================================================
      Date            Name                    Description of Change
28-Aug-2009  Xiaofeng.Gu                    Written
$HISTORY$
==============================================================================*/
#pragma once

#include <vector>



class ISelect
{
public:
	virtual bool OnSelect(double Ray[6]) = 0;
};

typedef std::vector<ISelect*> SelectSet;
class CSelectSet
{
public:
	CSelectSet();
	virtual~ CSelectSet();

	void				AddSelect(ISelect* pObj);
	void				Clear();
	long				GetCount();
	ISelect*			GetObject(long lAt);

private:
	SelectSet			m_SelectSet;
};